<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>箭头函数</title>
  </head>
  <body>
    <p>使用箭头"=>"定义函数</p>
    <p>箭头左侧是参数，箭头右侧是函数体</p>
    <pre>
     const f1= v=>v;   
    </pre>
    <p>
      如果没有参数或者有多个参数，使用括号包裹起来，只有一个参数的时候不需要括号
    </p>
    <pre>
         const f2 = () => {let i=1; return i;};   
         const f3 = (x,y) => {let i=5; return i*(x+y)};  
         const f4 = x=>{ return x};
        </pre
    >
    <p>当右侧的函数体只有一条语句的时候可以省略大括号和return 关键字</p>
    <pre>
          const f5 = () =>5;  
      </pre
    >
    <p>如果返回的是一个对象，则右侧只需要包一个括号在外面</p>
    <pre>
       const f6 = ()=>({'name':'chj'})
    </pre>

    <p>箭头函数没有 arguments 对象</p>

    <p>不可以使用 new</p>

    <p>箭头函数内的this 对象就是定义时所在的对象</p>
  </body>
</html>
<script>
  const f1 = (v) => v;
  const f2 = () => {
    console.log(this);
    let i = 1;
    return i;
  };
  const f3 = (x, y) => {
    let i = 5;
    return i * (x + y);
  };
  const f4 = (x) => {
    return x;
  };
  const f5 = () => 5;
  const f6 = () => ({ name: "chj" });
</script>
